      SUBROUTINE SETUP
      RETURN
      END
C   HS119   10-2520
      BLOCK DATA
      INCLUDE 'BLOCO.INC'
      INTEGER I,J
      DATA NAME/'HS119  COLVILLE NO 7'/
      DATA (X(I),I=1,16)/16*10.0D0/
      DATA N/16/ , NH/8/ , NG/32/
      DATA DEL0/1.00D0/ ,TAU0/1.D4/ ,TAU/.1D0/
      DATA (GUNIT(1,J),J=9,40)/32*1/,(GUNIT(3,I),I=9,40)/16*1,16*-1/,
     F     (GUNIT(2,I),I=9,40)/1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,
     F     1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16/
     F     ,((GUNIT(I,J),I=1,3),J=0,8)/-1,0,0,-1,0,0,-1,0,0,-1,0,0,
     F     -1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0/
      END
      SUBROUTINE EF(X,FX)
      INCLUDE 'FUCO.INC'
      DOUBLE PRECISION X(NX),A(16,16),FX,S
      INTEGER I,J
      SAVE A
      DATA A/1.D0,16*0.D0,1.D0,15*0.D0,2*1.D0,13*0.D0,1.D0,2*0.D0,
     1      1.D0,16*0.D0,1.D0,15*0.D0,2*1.D0,10*0.D0,4*1.D0,2*0.D0,
     2      1.D0,9*0.D0,1.D0,4*0.D0,1.D0,0.D0,1.D0,10*0.D0,1.D0,5*0.D0
     3     ,1.D0,8*0.D0,2*1.D0,0.D0,1.D0,2*0.D0,1.D0,0.D0,1.D0,9*0.D0
     4     ,1.D0,2*0.D0,1.D0,3*0.D0,1.D0,9*0.D0,1.D0,3*0.D0,
     5      1.D0,2*0.D0,1.D0,10*0.D0,1.D0,3*0.D0,1.D0,0.D0,1.D0,5*0.D0
     6     ,1.D0,6*0.D0,1.D0,0.D0,3*1.D0,5*0.D0,1.D0,0.D0,1.D0,0.D0,
     7      1.D0,6*0.D0,1.D0,0.D0,1.D0,3*0.D0,1.D0,3*0.D0,1.D0,6*0.D0,
     8      1.D0/
      ICF=ICF+1
      S=0.D0
      DO      200      I=1,16
      DO      100      J=1,16
      S=S+A(I,J)*(X(I)**2+X(I)+1.D0)*(X(J)**2+X(J)+1.D0)
  100 CONTINUE
  200 CONTINUE
      FX=S
      RETURN
      END
      SUBROUTINE EGRADF(X,GRADF)
      INCLUDE 'FUCO.INC'
      INTEGER I,J
      DOUBLE PRECISION X(NX),GRADF(NX),A(16,16),S1,S2
      SAVE A
      DATA A/1.D0,16*0.D0,1.D0,15*0.D0,2*1.D0,13*0.D0,1.D0,2*0.D0,
     1      1.D0,16*0.D0,1.D0,15*0.D0,2*1.D0,10*0.D0,4*1.D0,2*0.D0,
     2      1.D0,9*0.D0,1.D0,4*0.D0,1.D0,0.D0,1.D0,10*0.D0,1.D0,5*0.D0
     3     ,1.D0,8*0.D0,2*1.D0,0.D0,1.D0,2*0.D0,1.D0,0.D0,1.D0,9*0.D0
     4     ,1.D0,2*0.D0,1.D0,3*0.D0,1.D0,9*0.D0,1.D0,3*0.D0,
     5      1.D0,2*0.D0,1.D0,10*0.D0,1.D0,3*0.D0,1.D0,0.D0,1.D0,5*0.D0
     6     ,1.D0,6*0.D0,1.D0,0.D0,3*1.D0,5*0.D0,1.D0,0.D0,1.D0,0.D0,
     7      1.D0,6*0.D0,1.D0,0.D0,1.D0,3*0.D0,1.D0,3*0.D0,1.D0,6*0.D0,
     8      1.D0/
      ICGF=ICGF+1
      DO      200      I=1,16
      S1=0.D0
      S2=0.D0
      DO      100      J=1,16
      S1=S1+A(J,I)*(X(J)**2+X(J)+1.D0)
      S2=S2+A(I,J)*(X(J)**2+X(J)+1.D0)
 100  CONTINUE
      GRADF(I)=(S1+S2)*(X(I)+X(I)+1.D0)
  200 CONTINUE
      RETURN
      END
      SUBROUTINE EH(I,X,HXI)
      INCLUDE 'FUCO.INC'
      INTEGER I,J
      DOUBLE PRECISION X(NX),B(8,16),C(8),HXI,S
      SAVE B,C
      DATA C/2.5D0,1.1D0,-3.1D0,-3.5D0,1.3D0,2.1D0,2.3D0,-1.5D0/
      DATA B/.22D0,-1.46D0,1.29D0,-1.1D0,2*0.D0,1.12D0,0.D0,.2D0,
     1      0.D0,-.89D0,-1.06D0,0.D0,-1.72D0,0.D0,.45D0,.19D0,-1.3D0,
     2      0.D0,.95D0,0.D0,-.33D0,0.D0,.26D0,.25D0,1.82D0,0.D0,-.54D0
     3     ,-1.43D0,0.D0,.31D0,-1.1D0,.15D0,-1.15D0,-1.16D0,0.D0,1.51D0
     4     ,1.62D0,0.D0,.58D0,.11D0,0.0D0,-.96D0,-1.78D0,.59D0,1.24D0,
     5      2*0.D0,.12D0,.8D0,0.D0,-.41D0,-.33D0,.21D0,1.12D0,-1.03D0,
     6      .13D0,0.D0,-.49D0,0.D0,-.43D0,-.26D0,0.D0,.1D0,1.D0,5*0.D0
     7     ,-.36D0,2*0.D0,1.D0,8*0.D0,1.D0,8*0.D0,1.D0,8*0.D0,
     8      1.D0,8*0.D0,1.D0,8*0.D0,1.D0,8*0.D0,1.D0/
      CRES(I)=CRES(I)+1
      S=0.D0
      DO      200      J=1,16
      S=S+B(I,J)*X(J)
  200 CONTINUE
      HXI=S-C(I)
      RETURN
      END
      SUBROUTINE EGRADH(I,X,GRADHI)
      INCLUDE 'FUCO.INC'
      INTEGER I,J
      DOUBLE PRECISION X(NX),GRADHI(NX),C(8),B(8,16)
      SAVE B,C
      DATA B/.22D0,-1.46D0,1.29D0,-1.1D0,2*0.D0,1.12D0,0.D0,.2D0,
     1      0.D0,-.89D0,-1.06D0,0.D0,-1.72D0,0.D0,.45D0,.19D0,-1.3D0,
     2      0.D0,.95D0,0.D0,-.33D0,0.D0,.26D0,.25D0,1.82D0,0.D0,-.54D0
     3     ,-1.43D0,0.D0,.31D0,-1.1D0,.15D0,-1.15D0,-1.16D0,0.D0,1.51D0
     4     ,1.62D0,0.D0,.58D0,.11D0,0.0D0,-.96D0,-1.78D0,.59D0,1.24D0,
     5      2*0.D0,.12D0,.8D0,0.D0,-.41D0,-.33D0,.21D0,1.12D0,-1.03D0,
     6      .13D0,0.D0,-.49D0,0.D0,-.43D0,-.26D0,0.D0,.1D0,1.D0,5*0.D0
     7     ,-.36D0,2*0.D0,1.D0,8*0.D0,1.D0,8*0.D0,1.D0,8*0.D0,
     8      1.D0,8*0.D0,1.D0,8*0.D0,1.D0,8*0.D0,1.D0/
      CGRES(I)=CGRES(I)+1
      DO      100      J=1,16
      GRADHI(J)=B(I,J)
  100 CONTINUE
      RETURN
      END
      SUBROUTINE EG(I,X,GXI)
      INCLUDE 'FUCO.INC'
      INTEGER I
      DOUBLE PRECISION GXI,X(NX)
      IF ( GUNIT(1,I+NH) .EQ. -1 ) CRES(I+NH)=CRES(I+NH)+1
      IF(I .GT.16)     GXI=5.D0-X(I-16)
      IF(I .LE. 16)    GXI=X(I)
      END
      SUBROUTINE EGRADG(I,X,GRADGI)
      INCLUDE 'FUCO.INC'
      INTEGER I
      DOUBLE PRECISION X(NX) ,GRADGI(NX)
      RETURN
      END


